package ai.zixing.framework.beans.factory.support;

import ai.zixing.framework.beans.BeanDefinition;

/**
 * 注册表对象
 */
public interface BeanDefinitionRegistry {
    // 注册 BeanDefinition 对象到注册表
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition);

    // 从注册表删除指定名称的 BeanDefinition 对象
    void removeBeanDefinition(String beanName);

    // 根据名称获取注册表中的 BeanDefinition 对象
    BeanDefinition getBeanDefinition(String beanName);

    // 注册表中书否含有名字为 beanName 的 BeanDefinition 对象
    boolean containsBeanDefinition(String beanName);

    // 获取注册表中所有的 BeanDefinition 对象
    String[] getBeanDefinitionNames();

    // 获取注册表中 BeanDefinition 的个数
    int getBeanDefinitionCount();
}
